Two Tagless Variations on the Deutsch-Schorr-Waite Algorithm
نویسنده
چکیده
We describe two variations on the DeutschSchorr-Waite (henceforth, simply D S W ) algorithm for marking finite, rooted, binary, directed graphs (henceforth simply referred to as graphs) which dispense with the tag bit while retaining the same overall structure. The first variation handles all graphs, just as D S W , but trades average O(log n) (worst case O(n)) workspace and O(n) time for O(1) workspace and average O(n log n) (worst case O(n2)) time. The second variation achieves both O(1) workspace and O(n) time but at the expense of not being able to correctly handle cyclic graphs. The variations demonstrate the gains that can be made through careful analysis of loop invariants and, by keeping the overall structure Of a well-known algorithm, represent a gain in clarity over previous tag-free marking algorithms [4]. We also present some arguments to support the conjecture that O(1) workspace and worst case O(n) time are not simultaneously achievable.
منابع مشابه
Verification of the Deutsch-Schorr-Waite Graph Marking Algorithm using Data Refinement
The verification of the Deutsch-Schorr-Waite graph marking algorithm is used as a benchmark in many formalizations of pointer programs. The main purpose of this mechanization is to show how data refinement of invariant based programs can be used in verifying practical algorithms. The verification starts with an abstract algorithm working on a graph given by a relation next on nodes. Gradually t...
متن کاملAutomated Verification of the Deutsch-Schorr-Waite Tree-Traversal Algorithm
This paper reports on the automated verification of the total correctness (partial correctness and termination) of the Deutsch-Schorr-Waite (DSW) algorithm. DSW is an algorithm for traversing a binary tree without the use of a stack by means of destructive pointer manipulation. Prior approaches to the verification of the algorithm involved applications of theorem provers or handwritten proofs. ...
متن کاملAutomata-Based Termination Proofs
This paper describes our generic framework for detecting termination of programs handling infinite and complex data domains, such as pointer structures. The framework is based on a counterexample-driven abstraction refinement loop. We have instantiated the framework for programs handling tree-like data structures, which allowed us to prove automatically termination of programs such as the depth...
متن کامل15 The Schorr - Waite - Algorithm
The Schorr-Waite graph marking algorithm named after its inventors Schorr and Waite [1967] has become an unofficial benchmark for the verification of programs dealing with linked data structures. It has been originally designed with a LISP garbage collector as application field in mind and thus, its main characteristic is low additional memory consumption. The original design claimed only two m...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Inf. Process. Lett.
دوره 22 شماره
صفحات -
تاریخ انتشار 1986